Method and apparatus for content selection based on personal profiles

ABSTRACT

A content selection server including a processor configured to receive personal preference information from a plurality of personal media devices, select content based on the personal preference information, and provide playback of the content.

FIELD OF THE DISCLOSURE

The present disclosure generally relates to communications networks, andmore particularly relates to a method and apparatus for contentselection based on personal profiles.

BACKGROUND

Packet-switched networks, such as networks based on the TCP/IP protocolsuite, can distribute a rich array of digital content to a variety ofclient applications. One popular application is a personal computerbrowser for retrieving documents over the Internet written in theHypertext Markup Language (HTML). Frequently, these documents includeembedded content. Where once the digital content consisted primarily oftext and static images, digital content has grown to include audio andvideo content as well as dynamic content customized for an individualuser.

It is often advantageous when distributing digital content across apacket-switched network to divide the duty of answering content requestsamong a plurality of geographically dispersed servers. For example,popular Web sites on the Internet often provide links to “mirror” sitesthat replicate original content at a number of geographically dispersedlocations. A more recent alternative to mirroring is contentdistribution networks (CDNs) that dynamically redirect content requeststo a cache server situated closer to the client issuing the request.CDNs either co-locate cache servers within Internet Service Providers ordeploy them within their own separate networks.

BRIEF DESCRIPTION OF THE DRAWINGS

It will be appreciated that for simplicity and clarity of illustration,elements illustrated in the Figures have not necessarily been drawn toscale. For example, the dimensions of some of the elements areexaggerated relative to other elements. Embodiments incorporatingteachings of the present disclosure are shown and described with respectto the drawings presented herein, in which:

FIG. 1 is a block diagram illustrating a communications network inaccordance with one embodiment of the present disclosure;

FIG. 2 is a block diagram illustrating a content selection system inaccordance with one embodiment of the present disclosure;

FIG. 3 is a flow diagram illustrating an exemplary method of selectingcontent based on personal profiles in accordance with one embodiment ofthe present disclosure; and

FIG. 4 is an illustrative embodiment of a general computer system.

The use of the same reference symbols in different drawings indicatessimilar or identical items.

DETAILED DESCRIPTION OF THE DRAWINGS

The numerous innovative teachings of the present application will bedescribed with particular reference to the presently preferred exemplaryembodiments. However, it should be understood that this class ofembodiments provides only a few examples of the many advantageous usesof the innovative teachings herein. In general, statements made in thespecification of the present application do not necessarily limit any ofthe various claimed inventions. Moreover, some statements may apply tosome inventive features but not to others.

FIG. 1 shows a geographically dispersed network 100, such as theInternet. Network 100 can include routers 102, 104, and 106 thatcommunicate with each other and form an autonomous system (AS) 108. AS108 can connect to other ASs that form network 100 through peeringpoints at routers 102 and 104. Additionally, AS 108 can include clientsystems 110, 112, 114, and 116 connected to respective routers 102, 104,and 106 to access the network 100. Router 102 can provide ingress andegress for client system 110. Similarly, router 104 can provide ingressand egress for client system 112. Router 106 can provide ingress andegress for both of client systems 114 and 116.

AS 108 can further include a Domain Name System (DNS) server 118. DNSserver 118 can translate a human readable hostname, such as www.att.com,into an Internet Protocol (IP) address. For example, client system 110can send a request to resolve a hostname to DNS server 118. DNS server118 can provide client system 110 with an IP address corresponding tothe hostname. DNS server 118 may provide the IP address from a cache ofhostname-IP address pairs or may request the IP address corresponding tothe hostname from an authoritative DNS server for the domain to whichthe hostname belongs.

Client systems 110, 112, 114, and 116 can retrieve information from aserver 120. For example, client system 112 can retrieve a web pageprovided by server 120. Additionally, client system 112 may downloadcontent files, such as graphics, audio, and video content, and programfiles such as software updates, from server 120. The time required forclient system 112 to retrieve the information from the server 120normally is related to the size of the file, the distance theinformation travels, and congestion along the route. Additionally, theload on the server 120 is related to the number of client systems 110,112, 114, and 116 that are actively retrieving information from theserver 120. As such, the resources such as processor, memory, andbandwidth available to the server 120 limit the number of client systems110, 112, 114, and 116 that can simultaneously retrieve information fromthe server 120.

Additionally, the network can include cache servers 122 and 124 thatreplicate content on the server 120 and that can be located more closelywithin the network to the client systems 110, 112, 114, and 116. Cacheserver 122 can link to router 102, and cache server 124 can link torouter 106. Client systems 110, 112, 114, and 116 can be assigned cacheserver 122 or 124 to decrease the time needed to retrieve information,such as by selecting the cache server closer to the particular clientsystem. The network distance between a cache server and client systemcan be determined by network cost and access time. As such, theeffective network distance between the cache server and the clientsystem may be different from the geographic distance.

When assigning cache servers 122 and 124 to client systems 110 through116, the cache server closest to the client can be selected. The closestcache server may be the cache server having a shortest network distance,a lowest network cost, a lowest network latency, a highest linkcapacity, or any combination thereof. Client system 110 can be assignedcache server 122, and client systems 114 and 116 can be assigned tocache server 124. The network costs of assigning client system 112 toeither of cache server 122 or 124 may be substantially identical. Whenthe network costs associated with the link between router 102 and router104 are marginally lower than the network costs associated with the linkbetween router 104 and router 106, client 112 may be assigned to cacheserver 124.

Client system 112 may send a request for information to cache server124. If cache server 124 has the information stored in a cache, it canprovide the information to client system 112. This can decrease thedistance the information travels and reduce the time to retrieve theinformation. Alternatively, when cache server 124 does not have theinformation, it can retrieve the information from server 120 prior toproviding the information to the client system 112. In an embodiment,cache server 124 may attempt to retrieve the information from cacheserver 122 prior to retrieving the information from server 120. Thecache server 124 may retrieve the information from the server 120 onlyonce, reducing the load on server 120 and network 100 such as, forexample, when client system 114 requests the same information.

Cache server 124 can have a cache of a limited size. The addition of newcontent to the cache may require old content to be removed from thecache. The cache may utilize a least recently used (LRU) policy, a leastfrequently used (LFU) policy, or another cache policy known in the art.When the addition of relatively cold or less popular content to thecache causes relatively hot or more popular content to be removed fromthe cache, an additional request for the relatively hot content canincrease the time required to provide the relatively hot content to theclient system, such as client system 114. To maximize the cost and timesavings of providing content from the cache, the most popular contentmay be stored in the cache, while less popular content is retrieved fromserver 120.

In an embodiment, the content selection server may provide differentcontent to different locations within the business or commerce location.For example, within a doctor's office, the content selection server mayprovide content to a waiting area based on the patients within thewaiting area while also providing content to each examination areaselected specifically for the patient within the examination area.Similarly, within a clothing store, the content selection server mayprovide customized content within each dressing room.

FIG. 2 illustrates a content selection system 200 that can be used inconjunction with communications network 100. The content selectionsystem 200 may be located at a business or commerce location and enableselection of audio or video content based on the preferences ofcustomers at the location. For example, a retail outlet such as aclothing store may provide background music for shoppers to listen towhile within the store. Using the content selection system 200, thebackground music can be selected to appeal to the shoppers currentlywithin the store. Additionally, the retail outlet may have a videodisplay that can be used for displaying a music video corresponding tothe background music or other video content that may appeal to theshoppers currently within the store.

The content selection system 200 can include a content selection server202. The content selection server 202 can receive information frompersonal media devices 204 and 206 through access point 208. The accesspoint 208 can communicate with the personal media devices 204 and 206using a wireless communications protocol, such as Bluetooth or Wi-Fi(802.1a/b/g/n). The content selection server 202 may receive personalpreference information from the personal media devices 204 and 206.Based on the personal preference information, the content selectionserver 202 can select content for playback through audio system 210and/or video system 212. The content selection server 202 can receivecontent from a content library 214 through a network 216 when thecontent is not previously stored by the content selection server 202. Inan embodiment, the content library may be available through a contentdelivery network, such as at cache server 122. The content may bestreamed to the content selection server 202 from the content library214, or the content selection server 202 may download the content fromthe content library.

FIG. 3 illustrates an exemplary method of selecting content based onpersonal preference information. At 302, a customer with a personalmedia device, such as personal media device 204, can enter a commercelocation. The personal media device can be a smart phone such as aBlackberry or an iPhone, a personal data assistant, a personal mediaplayer such as an iPod, or other similar portable devices that can storeand transmit information. Additionally, the personal media device can becapable of wireless communication, such as by using Bluetooth or a Wi-Finetwork.

At 304, the personal media device can provide a profile to a contentselection server, such as content selection server 202. The profile caninclude personal preference information. The personal preferenceinformation can include information about a user's music preferences,such as favorite songs, favorite artists, song ratings, and the like.Additionally, the personal preference information can includeinformation about video content, such as favorite television shows andmovies. In an embodiment, the personal preference information mayinclude information about content stored on the personal media device.Alternatively, the personal preference information can be a list ofcontent compiled by the user that may be unrelated to content stored onthe personal media device. For example, a personal device without mediaplayback capabilities can provide a list of preferred songs that hasbeen created by the user.

At 306, the content selection server can identify preferred content forplayback. Depending on the number of profiles currently available, thecontent selection server may randomly select a content from a list offavorite or highly ranked content, or may apply a selection algorithm todetermine content that would be preferred by the greatest number ofcustomers. In an embodiment, the selection algorithm may utilizefavorite song lists from a plurality of profiles to identify songs thatare common among a number of profiles and select the preferred song fromthe greatest number of profiles.

In yet another embodiment, the selection algorithm can identify songssimilar to songs listed in a plurality of profiles. For example, whenmultiple user profiles do not have any songs in common, similar songsmay be enjoyed by a number of the users. The selection algorithm cananalyze the songs listed in the profiles to identify similar songs. Inthis way, the selection algorithm may identify a favorite song from oneprofile that is similar to a favorite song in another profile and selectone of the two similar songs for playback. Alternatively, the selectionalgorithm may select a new song that is similar to songs from a numberprofiles and provide playback of the new song as a way of introducingthe new song to an audience that is likely to enjoy the song. Forexample, the content selection server may be located at a bar or a cluband automatically generate a mixture of new songs, rare songs, and wellknown songs that are likely to be enjoyed by the customers presentwithin the bar or club.

In a further embodiment, the selection algorithm may select songs from agenre or set of genres appropriate for the commerce location. Forexample, a content selection system in a doctor's office may limit theselected songs to light or relatively quiet and soothing music, whereasa content selection system at a trendy fashion boutique may select songsthat are more stimulating. Additionally, the selection algorithm mayexclude songs that are offensive or have explicit lyrics. Further, thecontent selection system may maintain a list of excluded songs.

At 308, the content selection server may retrieve the content from acontent library, and at 310, the content selection server may provideplayback of the content through the audio and/or video systems of thecommerce location. Alternatively, the content selection server may havepreviously downloaded the content and provide playback directly withoutneeding to retrieve the content from the content library.

FIG. 4 shows an illustrative embodiment of a general computer system400. The computer system 400 can include a set of instructions that canbe executed to cause the computer system to perform any one or more ofthe methods or computer based functions disclosed herein. The computersystem 400 may operate as a standalone device or may be connected, suchas by using a network, to other computer systems or peripheral devices.

In a networked deployment, the computer system may operate in thecapacity of a server or as a client user computer in a server-clientuser network environment, or as a peer computer system in a peer-to-peer(or distributed) network environment. The computer system 400 can alsobe implemented as or incorporated into various devices, such as apersonal computer (PC), a tablet PC, an STB, a personal digitalassistant (PDA), a mobile device, a palmtop computer, a laptop computer,a desktop computer, a communications device, a wireless telephone, aland-line telephone, a control system, a camera, a scanner, a facsimilemachine, a printer, a pager, a personal trusted device, a web appliance,a network router, switch or bridge, or any other machine capable ofexecuting a set of instructions (sequential or otherwise) that specifyactions to be taken by that machine. In a particular embodiment, thecomputer system 400 can be implemented using electronic devices thatprovide voice, video or data communication. Further, while a singlecomputer system 400 is illustrated, the term “system” shall also betaken to include any collection of systems or sub-systems thatindividually or jointly execute a set, or multiple sets, of instructionsto perform one or more computer functions.

The computer system 400 may include a processor 402, such as a centralprocessing unit (CPU), a graphics processing unit (GPU), or both.Moreover, the computer system 400 can include a main memory 404 and astatic memory 406 that can communicate with each other via a bus 408. Asshown, the computer system 400 may further include a video display unit410 such as a liquid crystal display (LCD), an organic light emittingdiode (OLED), a flat panel display, a solid-state display, or a cathoderay tube (CRT). Additionally, the computer system 400 may include aninput device 412 such as a keyboard, and a cursor control device 414such as a mouse. Alternatively, input device 412 and cursor controldevice 414 can be combined in a touchpad or touch sensitive screen. Thecomputer system 400 can also include a disk drive unit 416, a signalgeneration device 418 such as a speaker or remote control, and a networkinterface device 420 to communicate with a network 426. In a particularembodiment, the disk drive unit 416 may include a computer-readablemedium 422 in which one or more sets of instructions 424, such assoftware, can be embedded. Further, the instructions 424 may embody oneor more of the methods or logic as described herein. In a particularembodiment, the instructions 424 may reside completely, or at leastpartially, within the main memory 404, the static memory 406, and/orwithin the processor 402 during execution by the computer system 400.The main memory 404 and the processor 402 also may includecomputer-readable media.

The illustrations of the embodiments described herein are intended toprovide a general understanding of the structure of the variousembodiments. The illustrations are not intended to serve as a completedescription of all of the elements and features of apparatus and systemsthat utilize the structures or methods described herein. Many otherembodiments may be apparent to those of skill in the art upon reviewingthe disclosure. Other embodiments may be utilized and derived from thedisclosure, such that structural and logical substitutions and changesmay be made without departing from the scope of the disclosure.Additionally, the illustrations are merely representational and may notbe drawn to scale. Certain proportions within the illustrations may beexaggerated, while other proportions may be minimized. Accordingly, thedisclosure and the FIGs. are to be regarded as illustrative rather thanrestrictive.

The Abstract of the Disclosure is provided to comply with 37 C.F.R.§1.72(b) and is submitted with the understanding that it will not beused to interpret or limit the scope or meaning of the claims. Inaddition, in the foregoing Detailed Description of the Drawings, variousfeatures may be grouped together or described in a single embodiment forthe purpose of streamlining the disclosure. This disclosure is not to beinterpreted as reflecting an intention that the claimed embodimentsrequire more features than are expressly recited in each claim. Rather,as the following claims reflect, inventive subject matter may bedirected to less than all of the features of any of the disclosedembodiments. Thus, the following claims are incorporated into theDetailed Description of the Drawings, with each claim standing on itsown as defining separately claimed subject matter.

The above disclosed subject matter is to be considered illustrative, andnot restrictive, and the appended claims are intended to cover all suchmodifications, enhancements, and other embodiments which fall within thetrue spirit and scope of the present disclosed subject matter. Thus, tothe maximum extent allowed by law, the scope of the present disclosedsubject matter is to be determined by the broadest permissibleinterpretation of the following claims and their equivalents, and shallnot be restricted or limited by the foregoing detailed description.

What is claimed is:
 1. A server comprising: a memory that storesinstructions; a processor that executes the instructions to performoperations, the operations comprising: receiving a profile includingpersonal preference information from each of a plurality of personaldevices located in a location, wherein the personal preferenceinformation includes a list of favorite content, wherein the pluralityof personal devices do not include media playback capability, whereineach list of favorite content is unrelated to stored content on apersonal device of the plurality of personal devices that correspondswith each list; selecting alternative content based on each list offavorite content, based on a number of profiles currently available, andbased on a determination that each profile from each of the plurality ofpersonal devices does not list content in common with another profile,wherein the alternative content is further selected based on a locationtype of the location and from a set of content genres appropriate forthe location, wherein the alternative content is not included in eachlist of favorite content; retrieving the alternative content from acontent library through a network; and providing playback of thealternative content.
 2. The server of claim 1, wherein the alternativecontent is selected from movies or television episodes.
 3. The server ofclaim 1, wherein the operations further comprise ranking each list basedon a number of occurrences of the content within the list of favoritecontent from each of the personal devices, or a number of occurrences ofsimilar content within the list of favorite content from each of thepersonal devices.
 4. The server of claim 1, wherein the operationsfurther comprise filtering each list to exclude content based onidentifying explicit language included in the content.
 5. The server ofclaim 1, wherein retrieving the alternative content comprises receivingthe alternative content as a stream.
 6. A system comprising: a contentlibrary; and a content selection server that executes instructions toperform operations, the operations comprising: retrieving a profileincluding personal preference information from a plurality of personaldevices located in a location, wherein the personal preferenceinformation includes lists of favorite video content, wherein thepersonal devices do not include media playback capability, wherein eachlist of favorite video content is unrelated to stored content on apersonal device of the plurality of personal devices that correspondswith each list; identifying alternative video content based on each listof video content, based on a number of profiles currently available, andbased on a determination that each profile from each of the plurality ofpersonal devices does not list content in common with another profile,wherein the alternative content is further identified based on alocation type of the location and from a set of content genresappropriate for the location, wherein the alternative video content isnot included in each list of video content; and retrieving thealternative video content from the content library through a network;and a playback device to provide playback of the alternative videocontent.
 7. The system of claim 6, wherein the personal devicescommunicate with the content selection server using a wireless protocol.8. The system of claim 6, wherein the operations further compriseexcluding video content based on identifying explicit language includedin the video content.
 9. The system of claim 6, wherein retrieving thealternative content comprises receiving the alternative content as astream.
 10. A system comprising a processor and a computer readablemedium comprising a plurality of instructions that are executed by theprocessor to perform operations, the operations comprising: receiving aprofile including personal preference information from each of aplurality of personal devices located in a location, wherein thepersonal preference information includes a list of favorite content,wherein the personal devices do not include media playback capability,wherein each list of favorite content is unrelated to stored content ona personal device of the plurality of personal devices that correspondswith each list; selecting alternative content based on each list offavorite content, based on a number of profiles currently available, andbased on a determination that each profile from each of the plurality ofpersonal devices does not list content in common with another profile,wherein the alternative content is further selected based on a locationtype of the location and from a set of content genres appropriate forthe location, wherein the alternative content is not included in eachlist; and providing playback of the alternative content.
 11. The systemof claim 10, wherein the operations further comprise receiving thepersonal preference information, wherein the personal preferenceinformation includes a set of instructions to communicate with theplurality of personal devices using a wireless protocol.
 12. The systemof claim 10, wherein the operations further comprise retrieving thealternative content from a content library.
 13. The system of claim 12,wherein retrieving the alternative content comprises receiving thealternative content as a stream.
 14. The system of claim 10, wherein thecontent is selected from movies or television episodes.
 15. The systemof claim 10, wherein the personal preference information includescontent not stored at the personal devices.
 16. The system of claim 10,wherein identifying alternative content comprises identifying contentsimilar to content identified in the list of favorite content.
 17. Thesystem of claim 10, wherein the operations further comprise ranking eachlist based on a number of occurrences of the content and occurrences ofsimilar content.